﻿using System;
using System.Web;
using System.Web.UI;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
using Owin;
using CorreoSocialWeb.Models;
using System.Configuration;

using CorreoSocialWeb.Views;

namespace CorreoSocialWeb
{
    public partial class Ingresar : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ReturnUrlHelper.Guardar(this);

            //RegisterHyperLink.NavigateUrl = "Register";
            //OlvideMiContraseñaHyperLink.NavigateUrl = "Forgot";

            ////OpenAuthLogin.ReturnUrl = Request.QueryString["ReturnUrl"];

            //var returnUrl = HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);

            //if (!String.IsNullOrEmpty(returnUrl))
            //{
            //    RegisterHyperLink.NavigateUrl += "?ReturnUrl=" + returnUrl;
            //    OlvideMiContraseñaHyperLink.NavigateUrl += "?ReturnUrl=" + returnUrl;
            //}
        }

        protected void ButtonIngresar_Click(object sender, EventArgs e)
        {
            string error = string.Empty;
            this.LabelError.Text = string.Empty;

            Usuario usuario = null;

            try
            {

                if (!Usuario.ValidarInicioDeSesion(
                      this.TextBoxEmail.Text
                    , this.TextBoxContrasenia.Text
                    , out usuario
                    , out error))
                {
                    LabelError.Text = error;
                    return;
                }

                var manager = this.Context.GetOwinContext().GetUserManager<ApplicationUserManager>();

                // está todo bien, inicio la sesión
                IdentityHelper.SignIn(manager, usuario.GetApplicationUser(), this.CheckBoxRecordarme.Checked);
                IdentityHelper.RedirectToReturnUrl(ReturnUrlHelper.GetUrl(this), Response);
            }
            catch
            {
                LabelError.Text = "Ocurrió un error. Por favor, intentá nuevamente más tarde.";
            }
        }

    }
}